setwd("/Users/chengg/Google Drive/EPICON/Mycobiome/Fungal ITS/statistic/Total.fungi")

library(vegan)
## Loading required package: permute
## Loading required package: lattice
## This is vegan 2.5-3
library(betapart)
library(colorRamps)
source("weighted Fst function.r")
rm(list = ls())
load("EPICON.data.preparation.RC.bNTI.ghost.2019.03.17.Rdata")
mean(Lagg[Lagg$TP<8 & Lagg$Habitat=="Leaf" & Lagg$Treatment=="Control",]$jtudisper)
## [1] 0.4409758
mean(Lagg[Lagg$TP>8 & Lagg$Habitat=="Leaf" & Lagg$Treatment=="Control",]$jtudisper)
## [1] 0.3205118
# bray
fung1<-fung[env$Treatment1=="Control"& env$TP>0,]
env1<-env[env$Treatment1=="Control"& env$TP>0,]
par(mfrow=c(1,4),mar=c(2, 2, 0.5, 0.5))
for (i in c("Leaf","Root", "Rhizosphere", "Soil")){
  fungx<-fung1[env1$Treatment1== "Control" & env1$Habitat== i,]
  envx<-env1[env1$Treatment1== "Control" & env1$Habitat== i,]
  fung.dist<-vegdist(decostand(fungx,"hellinger"),"bray")
  #fungx[fungx>0]=1 
  #fd<-beta.pair(fungx, index.family = "jaccard")
  #fung.dist<-fd$beta.jtu
  bd<-betadisper(fung.dist,factor(envx$TP))
  print (anova(bd)); print(adonis(fung.dist~envx$TP))
  plot(bd, col=blue2red(17)[1:17], 
       hull = FALSE,cex = 0.8,label.cex = 0.8,
       seg.col=blue2red(17)[1:17], main="", xlab="PC1", ylab="PC2")
  #boxplot(bd)
  #print(TukeyHSD(bd))
}
## Analysis of Variance Table
## 
## Response: Distances
##           Df Sum Sq  Mean Sq F value    Pr(>F)    
## Groups    16 1.0561 0.066009  11.701 2.385e-15 ***
## Residuals 85 0.4795 0.005641                      
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Call:
## adonis(formula = fung.dist ~ envx$TP) 
## 
## Permutation: free
## Number of permutations: 999
## 
## Terms added sequentially (first to last)
## 
##            Df SumsOfSqs MeanSqs F.Model      R2 Pr(>F)    
## envx$TP     1    5.1818  5.1818  44.203 0.30653  0.001 ***
## Residuals 100   11.7228  0.1172         0.69347           
## Total     101   16.9047                 1.00000           
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## Analysis of Variance Table
## 
## Response: Distances
##           Df  Sum Sq   Mean Sq F value    Pr(>F)    
## Groups    16 0.19982 0.0124889  6.3803 4.217e-09 ***
## Residuals 85 0.16638 0.0019574                      
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Call:
## adonis(formula = fung.dist ~ envx$TP) 
## 
## Permutation: free
## Number of permutations: 999
## 
## Terms added sequentially (first to last)
## 
##            Df SumsOfSqs MeanSqs F.Model      R2 Pr(>F)    
## envx$TP     1    3.8049  3.8049  37.736 0.27398  0.001 ***
## Residuals 100   10.0829  0.1008         0.72602           
## Total     101   13.8878                 1.00000           
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## Analysis of Variance Table
## 
## Response: Distances
##           Df   Sum Sq    Mean Sq F value Pr(>F)
## Groups    16 0.009434 0.00058965  0.6823 0.8036
## Residuals 85 0.073453 0.00086416               
## 
## Call:
## adonis(formula = fung.dist ~ envx$TP) 
## 
## Permutation: free
## Number of permutations: 999
## 
## Terms added sequentially (first to last)
## 
##            Df SumsOfSqs MeanSqs F.Model      R2 Pr(>F)    
## envx$TP     1    5.1894  5.1894  48.013 0.32439  0.001 ***
## Residuals 100   10.8083  0.1081         0.67561           
## Total     101   15.9977                 1.00000           
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## Analysis of Variance Table
## 
## Response: Distances
##           Df  Sum Sq   Mean Sq F value Pr(>F)
## Groups    16 0.03434 0.0021463  1.1348 0.3377
## Residuals 85 0.16076 0.0018913               
## 
## Call:
## adonis(formula = fung.dist ~ envx$TP) 
## 
## Permutation: free
## Number of permutations: 999
## 
## Terms added sequentially (first to last)
## 
##            Df SumsOfSqs MeanSqs F.Model     R2 Pr(>F)    
## envx$TP     1    1.3668 1.36682  12.436 0.1106  0.001 ***
## Residuals 100   10.9912 0.10991         0.8894           
## Total     101   12.3580                 1.0000           
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

# jaccard
fung1<-fung[env$Treatment1=="Control"& env$TP>0,]
env1<-env[env$Treatment1=="Control"& env$TP>0,]
par(mfrow=c(1,4),mar=c(2, 2, 0.5, 0.5))
for (i in c("Leaf","Root", "Rhizosphere", "Soil")){
  fungx<-fung1[env1$Treatment1== "Control" & env1$Habitat== i,]
  envx<-env1[env1$Treatment1== "Control" & env1$Habitat== i,]
  fung.dist<-vegdist(decostand(fungx,"hellinger"),"jaccard")
  #fungx[fungx>0]=1 
  #fd<-beta.pair(fungx, index.family = "jaccard")
  #fung.dist<-fd$beta.jtu
  bd<-betadisper(fung.dist,factor(envx$TP))
  print (anova(bd)); print(adonis(fung.dist~envx$TP))
  plot(bd, col=blue2red(17)[1:17], 
       hull = FALSE,cex = 0.8,label.cex = 0.8,
       seg.col=blue2red(17)[1:17], main="", xlab="PC1", ylab="PC2")
  #boxplot(bd)
  #print(TukeyHSD(bd))
}
## Analysis of Variance Table
## 
## Response: Distances
##           Df  Sum Sq  Mean Sq F value    Pr(>F)    
## Groups    16 1.06612 0.066632  15.278 < 2.2e-16 ***
## Residuals 85 0.37072 0.004361                      
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Call:
## adonis(formula = fung.dist ~ envx$TP) 
## 
## Permutation: free
## Number of permutations: 999
## 
## Terms added sequentially (first to last)
## 
##            Df SumsOfSqs MeanSqs F.Model      R2 Pr(>F)    
## envx$TP     1    5.9376  5.9376  30.767 0.23528  0.001 ***
## Residuals 100   19.2986  0.1930         0.76472           
## Total     101   25.2362                 1.00000           
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## Analysis of Variance Table
## 
## Response: Distances
##           Df  Sum Sq   Mean Sq F value    Pr(>F)    
## Groups    16 0.21099 0.0131872  6.8241 1.058e-09 ***
## Residuals 85 0.16426 0.0019324                      
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Call:
## adonis(formula = fung.dist ~ envx$TP) 
## 
## Permutation: free
## Number of permutations: 999
## 
## Terms added sequentially (first to last)
## 
##            Df SumsOfSqs MeanSqs F.Model      R2 Pr(>F)    
## envx$TP     1     4.060  4.0600  21.588 0.17755  0.001 ***
## Residuals 100    18.807  0.1881         0.82245           
## Total     101    22.867                 1.00000           
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## Analysis of Variance Table
## 
## Response: Distances
##           Df   Sum Sq    Mean Sq F value Pr(>F)
## Groups    16 0.009396 0.00058722  0.6865 0.7996
## Residuals 85 0.072703 0.00085533               
## 
## Call:
## adonis(formula = fung.dist ~ envx$TP) 
## 
## Permutation: free
## Number of permutations: 999
## 
## Terms added sequentially (first to last)
## 
##            Df SumsOfSqs MeanSqs F.Model      R2 Pr(>F)    
## envx$TP     1    5.3206  5.3206  26.531 0.20968  0.001 ***
## Residuals 100   20.0547  0.2005         0.79032           
## Total     101   25.3753                 1.00000           
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## Analysis of Variance Table
## 
## Response: Distances
##           Df   Sum Sq   Mean Sq F value Pr(>F)
## Groups    16 0.028354 0.0017721  1.1463  0.328
## Residuals 85 0.131409 0.0015460               
## 
## Call:
## adonis(formula = fung.dist ~ envx$TP) 
## 
## Permutation: free
## Number of permutations: 999
## 
## Terms added sequentially (first to last)
## 
##            Df SumsOfSqs MeanSqs F.Model      R2 Pr(>F)    
## envx$TP     1    1.6762 1.67618  8.3053 0.07668  0.001 ***
## Residuals 100   20.1821 0.20182         0.92332           
## Total     101   21.8583                 1.00000           
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

# turnover
fung1<-fung[env$Treatment1=="Control"& env$TP>0,]
env1<-env[env$Treatment1=="Control"& env$TP>0,]
par(mfrow=c(1,4),mar=c(2, 2, 0.5, 0.5))
for (i in c("Leaf","Root", "Rhizosphere", "Soil")){
  fungx<-fung1[env1$Treatment1== "Control" & env1$Habitat== i,]
  envx<-env1[env1$Treatment1== "Control" & env1$Habitat== i,]
  #fung.dist<-vegdist(decostand(fungx,"hellinger"),"bray")
  fungx[fungx>0]=1 
  fd<-beta.pair(fungx, index.family = "jaccard")
  fung.dist<-fd$beta.jtu
  bd<-betadisper(fung.dist,factor(envx$TP))
  print (anova(bd)); print(adonis(fung.dist~envx$TP))
  plot(bd, col=blue2red(17)[1:17], 
       hull = FALSE,cex = 0.8,label.cex = 0.8,
       seg.col=blue2red(17)[1:17], main="", xlab="PC1", ylab="PC2")
  #boxplot(bd)
  #print(TukeyHSD(bd))
}
## Analysis of Variance Table
## 
## Response: Distances
##           Df  Sum Sq  Mean Sq F value    Pr(>F)    
## Groups    16 0.57756 0.036098  9.4152 6.713e-13 ***
## Residuals 85 0.32589 0.003834                      
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Call:
## adonis(formula = fung.dist ~ envx$TP) 
## 
## Permutation: free
## Number of permutations: 999
## 
## Terms added sequentially (first to last)
## 
##            Df SumsOfSqs MeanSqs F.Model      R2 Pr(>F)    
## envx$TP     1     4.260  4.2600  24.445 0.19643  0.001 ***
## Residuals 100    17.427  0.1743         0.80357           
## Total     101    21.687                 1.00000           
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## Analysis of Variance Table
## 
## Response: Distances
##           Df   Sum Sq   Mean Sq F value  Pr(>F)  
## Groups    16 0.068274 0.0042671  1.9817 0.02346 *
## Residuals 85 0.183029 0.0021533                  
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Call:
## adonis(formula = fung.dist ~ envx$TP) 
## 
## Permutation: free
## Number of permutations: 999
## 
## Terms added sequentially (first to last)
## 
##            Df SumsOfSqs MeanSqs F.Model      R2 Pr(>F)    
## envx$TP     1    3.9919  3.9919   26.33 0.20842  0.001 ***
## Residuals 100   15.1610  0.1516         0.79158           
## Total     101   19.1530                 1.00000           
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## Analysis of Variance Table
## 
## Response: Distances
##           Df   Sum Sq   Mean Sq F value   Pr(>F)   
## Groups    16 0.083968 0.0052480  2.3945 0.005256 **
## Residuals 85 0.186295 0.0021917                    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Call:
## adonis(formula = fung.dist ~ envx$TP) 
## 
## Permutation: free
## Number of permutations: 999
## 
## Terms added sequentially (first to last)
## 
##            Df SumsOfSqs MeanSqs F.Model      R2 Pr(>F)    
## envx$TP     1    3.7318  3.7318  21.769 0.17878  0.001 ***
## Residuals 100   17.1426  0.1714         0.82122           
## Total     101   20.8744                 1.00000           
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## Analysis of Variance Table
## 
## Response: Distances
##           Df  Sum Sq   Mean Sq F value  Pr(>F)  
## Groups    16 0.04436 0.0027725  2.1029 0.01522 *
## Residuals 85 0.11207 0.0013184                  
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Call:
## adonis(formula = fung.dist ~ envx$TP) 
## 
## Permutation: free
## Number of permutations: 999
## 
## Terms added sequentially (first to last)
## 
##            Df SumsOfSqs MeanSqs F.Model      R2 Pr(>F)    
## envx$TP     1    1.1916 1.19159  6.9082 0.06462  0.001 ***
## Residuals 100   17.2490 0.17249         0.93538           
## Total     101   18.4406                 1.00000           
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

# nestedness
fung1<-fung[env$Treatment1=="Control"& env$TP>0,]
env1<-env[env$Treatment1=="Control"& env$TP>0,]
par(mfrow=c(1,4),mar=c(2, 2, 0.5, 0.5))
for (i in c("Leaf","Root", "Rhizosphere", "Soil")){
  fungx<-fung1[env1$Treatment1== "Control" & env1$Habitat== i,]
  envx<-env1[env1$Treatment1== "Control" & env1$Habitat== i,]
  #fung.dist<-vegdist(decostand(fungx,"hellinger"),"bray")
  fungx[fungx>0]=1 
  fd<-beta.pair(fungx, index.family = "jaccard")
  fung.dist<-fd$beta.jne
  bd<-betadisper(fung.dist,factor(envx$TP))
  print (anova(bd)); print(adonis(fung.dist~envx$TP))
  
  plot(bd, col=blue2red(17)[1:17], 
       hull = FALSE,cex = 0.8,label.cex = 0.8,
       seg.col=blue2red(17)[1:17], main="", xlab="PC1", ylab="PC2")
  #boxplot(bd)
  #print(TukeyHSD(bd))
}
## Analysis of Variance Table
## 
## Response: Distances
##           Df   Sum Sq   Mean Sq F value Pr(>F)
## Groups    16 0.055609 0.0034756  1.5102  0.115
## Residuals 85 0.195620 0.0023014               
## 
## Call:
## adonis(formula = fung.dist ~ envx$TP) 
## 
## Permutation: free
## Number of permutations: 999
## 
## Terms added sequentially (first to last)
## 
##            Df SumsOfSqs    MeanSqs F.Model       R2 Pr(>F)
## envx$TP     1  -0.01392 -0.0139173 -2.5726 -0.02641  0.981
## Residuals 100   0.54098  0.0054098          1.02641       
## Total     101   0.52707                     1.00000
## Analysis of Variance Table
## 
## Response: Distances
##           Df   Sum Sq    Mean Sq F value  Pr(>F)  
## Groups    16 0.024061 0.00150382  1.9199 0.02917 *
## Residuals 85 0.066577 0.00078326                  
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Call:
## adonis(formula = fung.dist ~ envx$TP) 
## 
## Permutation: free
## Number of permutations: 999
## 
## Terms added sequentially (first to last)
## 
##            Df SumsOfSqs   MeanSqs F.Model       R2 Pr(>F)
## envx$TP     1  -0.09444 -0.094441  -17.48 -0.21183      1
## Residuals 100   0.54028  0.005403          1.21183       
## Total     101   0.44584                    1.00000
## Analysis of Variance Table
## 
## Response: Distances
##           Df   Sum Sq    Mean Sq F value   Pr(>F)   
## Groups    16 0.021502 0.00134390  2.2826 0.007928 **
## Residuals 85 0.050044 0.00058876                    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Call:
## adonis(formula = fung.dist ~ envx$TP) 
## 
## Permutation: free
## Number of permutations: 999
## 
## Terms added sequentially (first to last)
## 
##            Df SumsOfSqs   MeanSqs F.Model       R2 Pr(>F)
## envx$TP     1 -0.042662 -0.042662 -19.292 -0.23904      1
## Residuals 100  0.221134  0.002211          1.23904       
## Total     101  0.178472                    1.00000
## Analysis of Variance Table
## 
## Response: Distances
##           Df   Sum Sq    Mean Sq F value Pr(>F)
## Groups    16 0.008802 0.00055015   1.102 0.3665
## Residuals 85 0.042435 0.00049923               
## 
## Call:
## adonis(formula = fung.dist ~ envx$TP) 
## 
## Permutation: free
## Number of permutations: 999
## 
## Terms added sequentially (first to last)
## 
##            Df SumsOfSqs    MeanSqs F.Model       R2 Pr(>F)
## envx$TP     1 -0.006759 -0.0067595 -5.8369 -0.06199      1
## Residuals 100  0.115806  0.0011581          1.06199       
## Total     101  0.109046                     1.00000

# 

# bray
fung1<-fung[env$Treatment1=="Pre_flowering_drought"& env$TP>0,]
env1<-env[env$Treatment1=="Pre_flowering_drought"& env$TP>0,]
par(mfrow=c(1,4),mar=c(2, 2, 0.5, 0.5))
for (i in c("Leaf","Root", "Rhizosphere", "Soil")){
  fungx<-fung1[env1$Treatment1== "Pre_flowering_drought" & env1$Habitat== i,]
  envx<-env1[env1$Treatment1== "Pre_flowering_drought" & env1$Habitat== i,]
  fung.dist<-vegdist(decostand(fungx,"hellinger"),"bray")
  #fungx[fungx>0]=1 
  #fd<-beta.pair(fungx, index.family = "jaccard")
  #fung.dist<-fd$beta.jtu
  bd<-betadisper(fung.dist,factor(envx$TP))
  print (anova(bd)); print(adonis(fung.dist~envx$TP))
  plot(bd, col=blue2red(17)[3:17], 
       hull = FALSE,cex = 0.8,label.cex = 0.8,
       seg.col=blue2red(17)[3:17], main="", xlab="PC1", ylab="PC2")
  #boxplot(bd)
  #print(TukeyHSD(bd))
}
## Analysis of Variance Table
## 
## Response: Distances
##           Df  Sum Sq  Mean Sq F value    Pr(>F)    
## Groups    14 0.68828 0.049163  20.932 < 2.2e-16 ***
## Residuals 75 0.17615 0.002349                      
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Call:
## adonis(formula = fung.dist ~ envx$TP) 
## 
## Permutation: free
## Number of permutations: 999
## 
## Terms added sequentially (first to last)
## 
##           Df SumsOfSqs MeanSqs F.Model      R2 Pr(>F)    
## envx$TP    1    4.4815  4.4815  43.004 0.32827  0.001 ***
## Residuals 88    9.1706  0.1042         0.67173           
## Total     89   13.6521                 1.00000           
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## Analysis of Variance Table
## 
## Response: Distances
##           Df   Sum Sq   Mean Sq F value    Pr(>F)    
## Groups    14 0.077915 0.0055654  3.5638 0.0001699 ***
## Residuals 75 0.117124 0.0015617                      
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Call:
## adonis(formula = fung.dist ~ envx$TP) 
## 
## Permutation: free
## Number of permutations: 999
## 
## Terms added sequentially (first to last)
## 
##           Df SumsOfSqs MeanSqs F.Model      R2 Pr(>F)    
## envx$TP    1    2.8000 2.79999  32.156 0.26762  0.001 ***
## Residuals 88    7.6626 0.08707         0.73238           
## Total     89   10.4626                 1.00000           
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## Analysis of Variance Table
## 
## Response: Distances
##           Df   Sum Sq   Mean Sq F value Pr(>F)
## Groups    14 0.037248 0.0026606   1.241 0.2651
## Residuals 75 0.160792 0.0021439               
## 
## Call:
## adonis(formula = fung.dist ~ envx$TP) 
## 
## Permutation: free
## Number of permutations: 999
## 
## Terms added sequentially (first to last)
## 
##           Df SumsOfSqs MeanSqs F.Model     R2 Pr(>F)    
## envx$TP    1    2.9870  2.9870  28.049 0.2417  0.001 ***
## Residuals 88    9.3716  0.1065         0.7583           
## Total     89   12.3587                 1.0000           
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## Analysis of Variance Table
## 
## Response: Distances
##           Df   Sum Sq   Mean Sq F value Pr(>F)
## Groups    14 0.044408 0.0031720  0.9021   0.56
## Residuals 75 0.263730 0.0035164               
## 
## Call:
## adonis(formula = fung.dist ~ envx$TP) 
## 
## Permutation: free
## Number of permutations: 999
## 
## Terms added sequentially (first to last)
## 
##           Df SumsOfSqs MeanSqs F.Model      R2 Pr(>F)    
## envx$TP    1    0.5572 0.55723  5.4474 0.05829  0.001 ***
## Residuals 88    9.0017 0.10229         0.94171           
## Total     89    9.5589                 1.00000           
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

# jaccard
fung1<-fung[env$Treatment1=="Pre_flowering_drought"& env$TP>0,]
env1<-env[env$Treatment1=="Pre_flowering_drought"& env$TP>0,]
par(mfrow=c(1,4),mar=c(2, 2, 0.5, 0.5))
for (i in c("Leaf","Root", "Rhizosphere", "Soil")){
  fungx<-fung1[env1$Treatment1== "Pre_flowering_drought" & env1$Habitat== i,]
  envx<-env1[env1$Treatment1== "Pre_flowering_drought" & env1$Habitat== i,]
  fung.dist<-vegdist(decostand(fungx,"hellinger"),"jaccard")
  #fungx[fungx>0]=1 
  #fd<-beta.pair(fungx, index.family = "jaccard")
  #fung.dist<-fd$beta.jtu
  bd<-betadisper(fung.dist,factor(envx$TP))
  print (anova(bd)); print(adonis(fung.dist~envx$TP))
  plot(bd, col=blue2red(17)[3:17], 
       hull = FALSE,cex = 0.8,label.cex = 0.8,
       seg.col=blue2red(17)[3:17], main="", xlab="PC1", ylab="PC2")
  #boxplot(bd)
  #print(TukeyHSD(bd))
}
## Analysis of Variance Table
## 
## Response: Distances
##           Df  Sum Sq  Mean Sq F value    Pr(>F)    
## Groups    14 0.76455 0.054611  27.434 < 2.2e-16 ***
## Residuals 75 0.14930 0.001991                      
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Call:
## adonis(formula = fung.dist ~ envx$TP) 
## 
## Permutation: free
## Number of permutations: 999
## 
## Terms added sequentially (first to last)
## 
##           Df SumsOfSqs MeanSqs F.Model      R2 Pr(>F)    
## envx$TP    1     5.267  5.2670   28.86 0.24696  0.001 ***
## Residuals 88    16.060  0.1825         0.75304           
## Total     89    21.327                 1.00000           
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## Analysis of Variance Table
## 
## Response: Distances
##           Df   Sum Sq   Mean Sq F value    Pr(>F)    
## Groups    14 0.086308 0.0061648   3.665 0.0001221 ***
## Residuals 75 0.126158 0.0016821                      
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Call:
## adonis(formula = fung.dist ~ envx$TP) 
## 
## Permutation: free
## Number of permutations: 999
## 
## Terms added sequentially (first to last)
## 
##           Df SumsOfSqs MeanSqs F.Model     R2 Pr(>F)    
## envx$TP    1     3.426  3.4260  20.041 0.1855  0.001 ***
## Residuals 88    15.043  0.1709         0.8145           
## Total     89    18.469                 1.0000           
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## Analysis of Variance Table
## 
## Response: Distances
##           Df   Sum Sq   Mean Sq F value Pr(>F)
## Groups    14 0.033625 0.0024018  1.2387 0.2666
## Residuals 75 0.145419 0.0019389               
## 
## Call:
## adonis(formula = fung.dist ~ envx$TP) 
## 
## Permutation: free
## Number of permutations: 999
## 
## Terms added sequentially (first to last)
## 
##           Df SumsOfSqs MeanSqs F.Model     R2 Pr(>F)    
## envx$TP    1     3.383  3.3830  17.149 0.1631  0.001 ***
## Residuals 88    17.359  0.1973         0.8369           
## Total     89    20.742                 1.0000           
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## Analysis of Variance Table
## 
## Response: Distances
##           Df   Sum Sq   Mean Sq F value Pr(>F)
## Groups    14 0.033524 0.0023946  0.9055 0.5564
## Residuals 75 0.198330 0.0026444               
## 
## Call:
## adonis(formula = fung.dist ~ envx$TP) 
## 
## Permutation: free
## Number of permutations: 999
## 
## Terms added sequentially (first to last)
## 
##           Df SumsOfSqs MeanSqs F.Model      R2 Pr(>F)    
## envx$TP    1    0.8029 0.80292  4.2092 0.04565  0.001 ***
## Residuals 88   16.7863 0.19075         0.95435           
## Total     89   17.5892                 1.00000           
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

# turnover
fung1<-fung[env$Treatment1=="Pre_flowering_drought"& env$TP>0,]
env1<-env[env$Treatment1=="Pre_flowering_drought"& env$TP>0,]
par(mfrow=c(1,4),mar=c(2, 2, 0.5, 0.5))
for (i in c("Leaf","Root", "Rhizosphere", "Soil")){
  fungx<-fung1[env1$Treatment1== "Pre_flowering_drought" & env1$Habitat== i,]
  envx<-env1[env1$Treatment1== "Pre_flowering_drought" & env1$Habitat== i,]
  #fung.dist<-vegdist(decostand(fungx,"hellinger"),"bray")
  fungx[fungx>0]=1 
  fd<-beta.pair(fungx, index.family = "jaccard")
  fung.dist<-fd$beta.jtu
  bd<-betadisper(fung.dist,factor(envx$TP))
  print (anova(bd)); print(adonis(fung.dist~envx$TP))
  plot(bd, col=blue2red(17)[3:17], 
       hull = FALSE,cex = 0.8,label.cex = 0.8,
       seg.col=blue2red(17)[3:17], main="", xlab="PC1", ylab="PC2")
  #boxplot(bd)
  #print(TukeyHSD(bd))
}
## Analysis of Variance Table
## 
## Response: Distances
##           Df  Sum Sq  Mean Sq F value    Pr(>F)    
## Groups    14 0.55669 0.039764  7.3274 2.516e-09 ***
## Residuals 75 0.40701 0.005427                      
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Call:
## adonis(formula = fung.dist ~ envx$TP) 
## 
## Permutation: free
## Number of permutations: 999
## 
## Terms added sequentially (first to last)
## 
##           Df SumsOfSqs MeanSqs F.Model      R2 Pr(>F)    
## envx$TP    1    2.8433 2.84326  17.648 0.16704  0.001 ***
## Residuals 88   14.1779 0.16111         0.83296           
## Total     89   17.0211                 1.00000           
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## Analysis of Variance Table
## 
## Response: Distances
##           Df  Sum Sq   Mean Sq F value Pr(>F)
## Groups    14 0.06210 0.0044355   0.828  0.637
## Residuals 75 0.40175 0.0053567               
## 
## Call:
## adonis(formula = fung.dist ~ envx$TP) 
## 
## Permutation: free
## Number of permutations: 999
## 
## Terms added sequentially (first to last)
## 
##           Df SumsOfSqs MeanSqs F.Model      R2 Pr(>F)    
## envx$TP    1     2.943 2.94302  20.285 0.18733  0.001 ***
## Residuals 88    12.767 0.14508         0.81267           
## Total     89    15.710                 1.00000           
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## Analysis of Variance Table
## 
## Response: Distances
##           Df   Sum Sq   Mean Sq F value Pr(>F)
## Groups    14 0.021592 0.0015423   0.566 0.8829
## Residuals 75 0.204353 0.0027247               
## 
## Call:
## adonis(formula = fung.dist ~ envx$TP) 
## 
## Permutation: free
## Number of permutations: 999
## 
## Terms added sequentially (first to last)
## 
##           Df SumsOfSqs MeanSqs F.Model      R2 Pr(>F)    
## envx$TP    1    2.1945 2.19451   13.12 0.12975  0.001 ***
## Residuals 88   14.7187 0.16726         0.87025           
## Total     89   16.9132                 1.00000           
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## Analysis of Variance Table
## 
## Response: Distances
##           Df   Sum Sq   Mean Sq F value Pr(>F)
## Groups    14 0.048035 0.0034311  1.1309 0.3464
## Residuals 75 0.227552 0.0030340               
## 
## Call:
## adonis(formula = fung.dist ~ envx$TP) 
## 
## Permutation: free
## Number of permutations: 999
## 
## Terms added sequentially (first to last)
## 
##           Df SumsOfSqs MeanSqs F.Model      R2 Pr(>F)    
## envx$TP    1    0.5717 0.57166  3.5837 0.03913  0.001 ***
## Residuals 88   14.0375 0.15952         0.96087           
## Total     89   14.6092                 1.00000           
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

# nestedness
fung1<-fung[env$Treatment1=="Pre_flowering_drought"& env$TP>0,]
env1<-env[env$Treatment1=="Pre_flowering_drought"& env$TP>0,]
par(mfrow=c(1,4),mar=c(2, 2, 0.5, 0.5))
for (i in c("Leaf","Root", "Rhizosphere", "Soil")){
  fungx<-fung1[env1$Treatment1== "Pre_flowering_drought" & env1$Habitat== i,]
  envx<-env1[env1$Treatment1== "Pre_flowering_drought" & env1$Habitat== i,]
  #fung.dist<-vegdist(decostand(fungx,"hellinger"),"bray")
  fungx[fungx>0]=1 
  fd<-beta.pair(fungx, index.family = "jaccard")
  fung.dist<-fd$beta.jne
  bd<-betadisper(fung.dist,factor(envx$TP))
  print (anova(bd)); print(adonis(fung.dist~envx$TP))
  plot(bd, col=blue2red(17)[3:17], 
       hull = FALSE,cex = 0.8,label.cex = 0.8,
       seg.col=blue2red(17)[3:17], main="", xlab="PC1", ylab="PC2")
  #boxplot(bd)
  #print(TukeyHSD(bd))
}
## Analysis of Variance Table
## 
## Response: Distances
##           Df   Sum Sq   Mean Sq F value   Pr(>F)   
## Groups    14 0.032897 0.0023498  2.4562 0.006591 **
## Residuals 75 0.071752 0.0009567                    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Call:
## adonis(formula = fung.dist ~ envx$TP) 
## 
## Permutation: free
## Number of permutations: 999
## 
## Terms added sequentially (first to last)
## 
##           Df SumsOfSqs  MeanSqs F.Model      R2 Pr(>F)    
## envx$TP    1   0.18111 0.181112  31.645 0.26449  0.001 ***
## Residuals 88   0.50364 0.005723         0.73551           
## Total     89   0.68475                  1.00000           
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## Analysis of Variance Table
## 
## Response: Distances
##           Df   Sum Sq    Mean Sq F value Pr(>F)
## Groups    14 0.019331 0.00138081  1.5455 0.1159
## Residuals 75 0.067008 0.00089344               
## 
## Call:
## adonis(formula = fung.dist ~ envx$TP) 
## 
## Permutation: free
## Number of permutations: 999
## 
## Terms added sequentially (first to last)
## 
##           Df SumsOfSqs   MeanSqs F.Model       R2 Pr(>F)
## envx$TP    1 -0.048845 -0.048845 -14.013 -0.18939      1
## Residuals 88  0.306749  0.003486          1.18939       
## Total     89  0.257904                    1.00000
## Analysis of Variance Table
## 
## Response: Distances
##           Df   Sum Sq   Mean Sq F value   Pr(>F)   
## Groups    14 0.031381 0.0022415  2.5322 0.005129 **
## Residuals 75 0.066390 0.0008852                    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Call:
## adonis(formula = fung.dist ~ envx$TP) 
## 
## Permutation: free
## Number of permutations: 999
## 
## Terms added sequentially (first to last)
## 
##           Df SumsOfSqs   MeanSqs F.Model       R2 Pr(>F)
## envx$TP    1 -0.033409 -0.033409 -9.4031 -0.11964      1
## Residuals 88  0.312659  0.003553          1.11964       
## Total     89  0.279251                    1.00000
## Analysis of Variance Table
## 
## Response: Distances
##           Df    Sum Sq    Mean Sq F value Pr(>F)
## Groups    14 0.0078169 0.00055835  1.3984 0.1753
## Residuals 75 0.0299464 0.00039929               
## 
## Call:
## adonis(formula = fung.dist ~ envx$TP) 
## 
## Permutation: free
## Number of permutations: 999
## 
## Terms added sequentially (first to last)
## 
##           Df SumsOfSqs    MeanSqs F.Model       R2 Pr(>F)
## envx$TP    1 -0.001394 -0.0013937 -1.2559 -0.01448  0.989
## Residuals 88  0.097652  0.0011097          1.01448       
## Total     89  0.096259                     1.00000

##
# bray
fung1<-fung[env$Treatment1=="Post_flowering_drought"& env$TP>0,]
env1<-env[env$Treatment1=="Post_flowering_drought"& env$TP>0,]
par(mfrow=c(1,4),mar=c(2, 2, 0.5, 0.5))
for (i in c("Leaf","Root", "Rhizosphere", "Soil")){
  fungx<-fung1[env1$Treatment1== "Post_flowering_drought" & env1$Habitat== i,]
  envx<-env1[env1$Treatment1== "Post_flowering_drought" & env1$Habitat== i,]
  fung.dist<-vegdist(decostand(fungx,"hellinger"),"bray")
  #fungx[fungx>0]=1 
  #fd<-beta.pair(fungx, index.family = "jaccard")
  #fung.dist<-fd$beta.jtu
  bd<-betadisper(fung.dist,factor(envx$TP))
  print (anova(bd)); print(adonis(fung.dist~envx$TP))
  plot(bd, col=blue2red(17)[8:17], 
       hull = FALSE,cex = 0.8,label.cex = 0.8,
       seg.col=blue2red(17)[8:17], main="", xlab="PC1", ylab="PC2")
  #boxplot(bd)
  #print(TukeyHSD(bd))
}
## Analysis of Variance Table
## 
## Response: Distances
##           Df Sum Sq  Mean Sq F value    Pr(>F)    
## Groups     9 0.1519 0.016878  5.5446 2.799e-05 ***
## Residuals 50 0.1522 0.003044                      
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Call:
## adonis(formula = fung.dist ~ envx$TP) 
## 
## Permutation: free
## Number of permutations: 999
## 
## Terms added sequentially (first to last)
## 
##           Df SumsOfSqs MeanSqs F.Model      R2 Pr(>F)    
## envx$TP    1    0.6668 0.66684  12.902 0.18197  0.001 ***
## Residuals 58    2.9978 0.05169         0.81803           
## Total     59    3.6646                 1.00000           
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## Analysis of Variance Table
## 
## Response: Distances
##           Df   Sum Sq    Mean Sq F value Pr(>F)
## Groups     9 0.006874 0.00076374  0.5299 0.8458
## Residuals 50 0.072060 0.00144119               
## 
## Call:
## adonis(formula = fung.dist ~ envx$TP) 
## 
## Permutation: free
## Number of permutations: 999
## 
## Terms added sequentially (first to last)
## 
##           Df SumsOfSqs MeanSqs F.Model      R2 Pr(>F)    
## envx$TP    1    0.3718 0.37184  6.8904 0.10619  0.001 ***
## Residuals 58    3.1299 0.05396         0.89381           
## Total     59    3.5018                 1.00000           
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## Analysis of Variance Table
## 
## Response: Distances
##           Df   Sum Sq    Mean Sq F value Pr(>F)
## Groups     9 0.005617 0.00062413  0.5569 0.8253
## Residuals 50 0.056040 0.00112079               
## 
## Call:
## adonis(formula = fung.dist ~ envx$TP) 
## 
## Permutation: free
## Number of permutations: 999
## 
## Terms added sequentially (first to last)
## 
##           Df SumsOfSqs MeanSqs F.Model      R2 Pr(>F)    
## envx$TP    1    0.7288 0.72876  8.0412 0.12176  0.001 ***
## Residuals 58    5.2564 0.09063         0.87824           
## Total     59    5.9852                 1.00000           
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## Analysis of Variance Table
## 
## Response: Distances
##           Df   Sum Sq    Mean Sq F value Pr(>F)
## Groups     9 0.008142 0.00090463  0.5291 0.8464
## Residuals 50 0.085487 0.00170974               
## 
## Call:
## adonis(formula = fung.dist ~ envx$TP) 
## 
## Permutation: free
## Number of permutations: 999
## 
## Terms added sequentially (first to last)
## 
##           Df SumsOfSqs MeanSqs F.Model      R2 Pr(>F)    
## envx$TP    1    0.4408 0.44080  4.1771 0.06718  0.001 ***
## Residuals 58    6.1207 0.10553         0.93282           
## Total     59    6.5615                 1.00000           
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

# jaccard
fung1<-fung[env$Treatment1=="Post_flowering_drought"& env$TP>0,]
env1<-env[env$Treatment1=="Post_flowering_drought"& env$TP>0,]
par(mfrow=c(1,4),mar=c(2, 2, 0.5, 0.5))
for (i in c("Leaf","Root", "Rhizosphere", "Soil")){
  fungx<-fung1[env1$Treatment1== "Post_flowering_drought" & env1$Habitat== i,]
  envx<-env1[env1$Treatment1== "Post_flowering_drought" & env1$Habitat== i,]
  fung.dist<-vegdist(decostand(fungx,"hellinger"),"jaccard")
  #fungx[fungx>0]=1 
  #fd<-beta.pair(fungx, index.family = "jaccard")
  #fung.dist<-fd$beta.jtu
  bd<-betadisper(fung.dist,factor(envx$TP))
  print (anova(bd)); print(adonis(fung.dist~envx$TP))
  plot(bd, col=blue2red(17)[8:17], 
       hull = FALSE,cex = 0.8,label.cex = 0.8,
       seg.col=blue2red(17)[8:17], main="", xlab="PC1", ylab="PC2")
  #boxplot(bd)
  #print(TukeyHSD(bd))
}
## Analysis of Variance Table
## 
## Response: Distances
##           Df  Sum Sq   Mean Sq F value    Pr(>F)    
## Groups     9 0.20873 0.0231921  5.7387 1.917e-05 ***
## Residuals 50 0.20207 0.0040414                      
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Call:
## adonis(formula = fung.dist ~ envx$TP) 
## 
## Permutation: free
## Number of permutations: 999
## 
## Terms added sequentially (first to last)
## 
##           Df SumsOfSqs MeanSqs F.Model      R2 Pr(>F)    
## envx$TP    1    1.1262  1.1262  10.202 0.14958  0.001 ***
## Residuals 58    6.4031  0.1104         0.85042           
## Total     59    7.5293                 1.00000           
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## Analysis of Variance Table
## 
## Response: Distances
##           Df   Sum Sq   Mean Sq F value Pr(>F)
## Groups     9 0.009335 0.0010372  0.5368 0.8406
## Residuals 50 0.096609 0.0019322               
## 
## Call:
## adonis(formula = fung.dist ~ envx$TP) 
## 
## Permutation: free
## Number of permutations: 999
## 
## Terms added sequentially (first to last)
## 
##           Df SumsOfSqs MeanSqs F.Model      R2 Pr(>F)    
## envx$TP    1    0.6492 0.64916  5.3693 0.08473  0.001 ***
## Residuals 58    7.0123 0.12090         0.91527           
## Total     59    7.6615                 1.00000           
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## Analysis of Variance Table
## 
## Response: Distances
##           Df   Sum Sq    Mean Sq F value Pr(>F)
## Groups     9 0.005528 0.00061428  0.5538 0.8277
## Residuals 50 0.055456 0.00110912               
## 
## Call:
## adonis(formula = fung.dist ~ envx$TP) 
## 
## Permutation: free
## Number of permutations: 999
## 
## Terms added sequentially (first to last)
## 
##           Df SumsOfSqs MeanSqs F.Model      R2 Pr(>F)    
## envx$TP    1    0.9713 0.97126  5.4734 0.08623  0.001 ***
## Residuals 58   10.2922 0.17745         0.91377           
## Total     59   11.2634                 1.00000           
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## Analysis of Variance Table
## 
## Response: Distances
##           Df   Sum Sq    Mean Sq F value Pr(>F)
## Groups     9 0.006899 0.00076655  0.5215  0.852
## Residuals 50 0.073499 0.00146998               
## 
## Call:
## adonis(formula = fung.dist ~ envx$TP) 
## 
## Permutation: free
## Number of permutations: 999
## 
## Terms added sequentially (first to last)
## 
##           Df SumsOfSqs MeanSqs F.Model      R2 Pr(>F)    
## envx$TP    1    0.5849 0.58494  2.9734 0.04877  0.001 ***
## Residuals 58   11.4100 0.19672         0.95123           
## Total     59   11.9950                 1.00000           
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

# turnover
fung1<-fung[env$Treatment1=="Post_flowering_drought" & env$TP>0,]
env1<-env[env$Treatment1=="Post_flowering_drought" & env$TP>0,]
par(mfrow=c(1,4),mar=c(2, 2, 0.5, 0.5))
for (i in c("Leaf","Root", "Rhizosphere", "Soil")){
  fungx<-fung1[env1$Treatment1== "Post_flowering_drought" & env1$Habitat== i,]
  envx<-env1[env1$Treatment1== "Post_flowering_drought" & env1$Habitat== i,]
  #fung.dist<-vegdist(decostand(fungx,"hellinger"),"bray")
  fungx[fungx>0]=1 
  fd<-beta.pair(fungx, index.family = "jaccard")
  fung.dist<-fd$beta.jtu
  bd<-betadisper(fung.dist,factor(envx$TP))
  print (anova(bd)); print(adonis(fung.dist~envx$TP))
  plot(bd, col=blue2red(17)[8:17], 
       hull = FALSE,cex = 0.8,label.cex = 0.8,
       seg.col=blue2red(17)[8:17], main="", xlab="PC1", ylab="PC2")
  #boxplot(bd)
  #print(TukeyHSD(bd))
}
## Analysis of Variance Table
## 
## Response: Distances
##           Df  Sum Sq  Mean Sq F value    Pr(>F)    
## Groups     9 0.30295 0.033661  9.7552 1.991e-08 ***
## Residuals 50 0.17253 0.003451                      
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Call:
## adonis(formula = fung.dist ~ envx$TP) 
## 
## Permutation: free
## Number of permutations: 999
## 
## Terms added sequentially (first to last)
## 
##           Df SumsOfSqs  MeanSqs F.Model       R2 Pr(>F)
## envx$TP    1   -0.4917 -0.49174 -4.6342 -0.08684      1
## Residuals 58    6.1545  0.10611          1.08684       
## Total     59    5.6627                   1.00000
## Analysis of Variance Table
## 
## Response: Distances
##           Df  Sum Sq   Mean Sq F value Pr(>F)
## Groups     9 0.03166 0.0035178  1.0019  0.451
## Residuals 50 0.17556 0.0035113               
## 
## Call:
## adonis(formula = fung.dist ~ envx$TP) 
## 
## Permutation: free
## Number of permutations: 999
## 
## Terms added sequentially (first to last)
## 
##           Df SumsOfSqs MeanSqs F.Model      R2 Pr(>F)    
## envx$TP    1    0.5069 0.50688  3.8301 0.06195  0.001 ***
## Residuals 58    7.6757 0.13234         0.93805           
## Total     59    8.1826                 1.00000           
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## Analysis of Variance Table
## 
## Response: Distances
##           Df   Sum Sq   Mean Sq F value Pr(>F)
## Groups     9 0.009326 0.0010363  0.4272 0.9142
## Residuals 50 0.121293 0.0024259               
## 
## Call:
## adonis(formula = fung.dist ~ envx$TP) 
## 
## Permutation: free
## Number of permutations: 999
## 
## Terms added sequentially (first to last)
## 
##           Df SumsOfSqs MeanSqs F.Model      R2 Pr(>F)    
## envx$TP    1    0.6514 0.65136  3.7535 0.06078  0.001 ***
## Residuals 58   10.0648 0.17353         0.93922           
## Total     59   10.7162                 1.00000           
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## Analysis of Variance Table
## 
## Response: Distances
##           Df   Sum Sq    Mean Sq F value Pr(>F)
## Groups     9 0.006556 0.00072844  0.5421 0.8367
## Residuals 50 0.067192 0.00134384               
## 
## Call:
## adonis(formula = fung.dist ~ envx$TP) 
## 
## Permutation: free
## Number of permutations: 999
## 
## Terms added sequentially (first to last)
## 
##           Df SumsOfSqs MeanSqs F.Model      R2 Pr(>F)    
## envx$TP    1    0.3550 0.35503  2.0926 0.03482  0.001 ***
## Residuals 58    9.8404 0.16966         0.96518           
## Total     59   10.1955                 1.00000           
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

# nestedness
fung1<-fung[env$Treatment1=="Post_flowering_drought" & env$TP>0,]
env1<-env[env$Treatment1=="Post_flowering_drought" & env$TP>0,]
par(mfrow=c(1,4),mar=c(2, 2, 0.5, 0.5))
for (i in c("Leaf","Root", "Rhizosphere", "Soil")){
  fungx<-fung1[env1$Treatment1== "Post_flowering_drought" & env1$Habitat== i,]
  envx<-env1[env1$Treatment1== "Post_flowering_drought" & env1$Habitat== i,]
  #fung.dist<-vegdist(decostand(fungx,"hellinger"),"bray")
  fungx[fungx>0]=1 
  fd<-beta.pair(fungx, index.family = "jaccard")
  fung.dist<-fd$beta.jne
  bd<-betadisper(fung.dist,factor(envx$TP))
  print (anova(bd)); print(adonis(fung.dist~envx$TP))
  plot(bd, col=blue2red(17)[8:17], 
       hull = FALSE,cex = 0.8,label.cex = 0.8,
       seg.col=blue2red(17)[8:17], main="", xlab="PC1", ylab="PC2")
  #boxplot(bd)
  #print(TukeyHSD(bd))
}
## Analysis of Variance Table
## 
## Response: Distances
##           Df   Sum Sq   Mean Sq F value  Pr(>F)  
## Groups     9 0.077257 0.0085841    2.43 0.02236 *
## Residuals 50 0.176628 0.0035326                  
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Call:
## adonis(formula = fung.dist ~ envx$TP) 
## 
## Permutation: free
## Number of permutations: 999
## 
## Terms added sequentially (first to last)
## 
##           Df SumsOfSqs MeanSqs F.Model      R2 Pr(>F)    
## envx$TP    1   0.63415 0.63415  63.152 0.52126  0.001 ***
## Residuals 58   0.58241 0.01004         0.47874           
## Total     59   1.21656                 1.00000           
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## Analysis of Variance Table
## 
## Response: Distances
##           Df   Sum Sq   Mean Sq F value Pr(>F)
## Groups     9 0.009575 0.0010639  0.9354 0.5034
## Residuals 50 0.056871 0.0011374               
## 
## Call:
## adonis(formula = fung.dist ~ envx$TP) 
## 
## Permutation: free
## Number of permutations: 999
## 
## Terms added sequentially (first to last)
## 
##           Df SumsOfSqs   MeanSqs F.Model      R2 Pr(>F)
## envx$TP    1  0.004873 0.0048730  1.3251 0.02234  0.293
## Residuals 58  0.213298 0.0036776         0.97766       
## Total     59  0.218171                   1.00000
## Analysis of Variance Table
## 
## Response: Distances
##           Df   Sum Sq    Mean Sq F value Pr(>F)
## Groups     9 0.005857 0.00065073  0.9589 0.4845
## Residuals 50 0.033929 0.00067858               
## 
## Call:
## adonis(formula = fung.dist ~ envx$TP) 
## 
## Permutation: free
## Number of permutations: 999
## 
## Terms added sequentially (first to last)
## 
##           Df SumsOfSqs    MeanSqs  F.Model       R2 Pr(>F)
## envx$TP    1 -0.001655 -0.0016552 -0.70514 -0.01231   0.92
## Residuals 58  0.136142  0.0023473           1.01231       
## Total     59  0.134486                      1.00000
## Analysis of Variance Table
## 
## Response: Distances
##           Df   Sum Sq    Mean Sq F value  Pr(>F)  
## Groups     9 0.020215 0.00224615  2.4336 0.02218 *
## Residuals 50 0.046148 0.00092297                  
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Call:
## adonis(formula = fung.dist ~ envx$TP) 
## 
## Permutation: free
## Number of permutations: 999
## 
## Terms added sequentially (first to last)
## 
##           Df SumsOfSqs    MeanSqs F.Model       R2 Pr(>F)
## envx$TP    1 -0.006923 -0.0069226  -3.275 -0.05985      1
## Residuals 58  0.122598  0.0021138          1.05985       
## Total     59  0.115675                     1.00000